Это место, куда можно прийти, если вы опытный пользователь и хотите узнать больше о настройке и расширении FreeCAD.
FreeCAD расширяем с помощью кода Python, который запускается непосредственно в консоли Python или загружается из модулей при запуске. Это означает, что вы можете модифицировать FreeCAD без необходимости перекомпиляции программы. Например, вы можете:
- Создавать и изменять геометрию: вы можете создать новый вид объекта, либо с нуля, либо адаптировав существующий тип.
- Создавать собственные инструменты и команды: создать ваши собственные наборы инструментов, запускающих Ваш код .
- Изменять интерфейс: создать панель инструментов и пометить туда ваши инструменты, создавать специальные окна, панели или интерфейсы для взаимодействия с вашими инструментами.
- Изменять представление в графе сцены: В FreeCAD есть разделение процессов построения и вычисления геометрии и отрисовки этой геометрии на вашем экране. У Вас есть полный доступ к способу отображения содержимого на экране, поэтому вы можете изменить представление, взаимодействовать с ним, или добавить к ним пользовательское поведение.
Вы можете так же добавить пользовательские экранные виджеты, как например информационные, перетаскиватели (draggers), якоря (привязки) или временные объекты (для быстрого предпросмотра операции).
Если Вы хотите добавить контент на эти страницы, запросите аккаунт на wiki с правом редактирования на форуме, изучите WikiPages насчёт общих рекомендаций, которым Вы должны следовать. Относительно прочих путей внести вклад в проект смотрите страницу о том как помочь FreeCAD.
Настройка FreeCAD
Написание сценариев FreeCAD
Основы
Модули
Функциональность FreeCAD разделена между модулями, работающими со своими типами данных и приложениями. У FreeCADа есть встроенные модули и модули расширения (plug-ins). Когда модули расширений установлены, они становятся доступны вам как встроенные модули. Описываемые ниже модули модули по умолчанию, включённые в любую установку FreeCAD.
- Встроенные модули это принципиальные модули FreeCAD. Они содержат инструменты для манипулирования общими конфигурациями FreeCAD, документами и их содержимым.
- Создание верстаков покажет Вам как создать собственных верстак.
Работа с полигональными сетками
Работа с Parts
Получение доступа к визуализатору сцен - Coin
Управление Qt интерфейсом
Работа с параметрическими объектами
- Сценарные объекты: Как создать на 100% управляемые сценариями на python объекты в FreeCAD
Примеры
- Фрагменты кода: Коллекция фрагментов FreeCAD python кода, в качестве ингредиентов ваших сценариев...
- Функция отрисовки линии: Как собрать простой инструмент для отрисовки линий
- Создание диалога: Как сконструировать диалог в Qt designer, и использовать его в FreeCAD
- Встраивание FreeCAD: Как импортировать FreeCAD в виде python модуля в другие приложения
- Верстак черчениядобавляет основные функции 2d рисования в freecad. Он полностью написан на python, так что может быть хорошим примером если вы хотите писать ваши собственные модули.
- Векторная библиотека FreeCAD: Пара полезных функций для работы с векторами в FreeCAD. Эта библиотека также включена в Чертежный Модуль.
Функции API
Полное описание API можно найти в http://www.freecad.org/api/ . Он содержит программный интерфейс как на C++, так и на Python, и пока не совсем хорошо форматирован, что может мешать при просмотре кода Python. Более простая для просмотра версия доступна здесь. Заметим что он может быть неполным, так как обновляется вручную. Для получения более точной информации, просматривайте модули напрямую из консоли Python FreeCADа.
Связанное: Представление C++ в Python
Продвинутые модификации
Учебники по Python
Здесь представлены хорошие общие учебники, без специфики FreeCAD, они могут вас заинтересовать, если для вас python, это что-то свовершенно новое.
Python
PySide - Как создавать и управлять FreeCAD Qt UI интерфейсом с помощью python
Дальнейшие два ссылаются на специффичные для PyQt (не PySide), но могут предложить некоторую полезную информацию:
Pivy - Как взаимодействовать с в 3D сценой FreeCADа
Проекты сообщества
На портале Сообщества, вы можете найти другие основанные на FreeCAD проекты запущенные сообществом пользователей FreeCAD. Если вы начинаете новый проект FreeCAD, убедитесь что его нет в списке! У нас также есть страница, с описанием вещей, которые вы могли бы сделать, если хотите Помочь FreeCAD.
Power user documentation
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui